<?php 	namespace Home\Controller;
use Hdphp\Controller\Controller;
class OrderController extends Controller{
	private $model;
	public function __init(){
	 	$this->model=new \Common\Model\Order;
	}
	public function index(){
		//将地址表的内容添加到对应的位置
		$additionModel=new \Common\Model\Address;
		$additionData=$additionModel->where('homeuser_uid='.$_SESSION['uid'])->get();
		//将里面的电话拆分
		foreach ($additionData as $k => $v) {
			$additionData[$k]['phone']=explode(',', $v['phone']);
		}				
		//然后将获得的书分配到页面里面去
		View::with('additionData',$additionData);		
		$dizhi=explode(',', Q('get.arr'));
		//通过对应的下标找到对应的session中的gid	
//		p($dizhi);
		
		$gid=array();	
		foreach ($dizhi as $v) {
			if($v){
				//通过对session的cart里面的goods的内容
				foreach ($_SESSION['cart']['goods'] as $k =>$vv) {
					if($k==$v){
						$gid[$v]=$vv['id'];
					}
				}
			}
		}
//		p($gid);
		//将$dizhi有的商品压入其他不管
		$sebox=array();
		//将符合$dizhi.选择的存在的压入到$sebox['goods'][$kk]
		foreach ($dizhi as $k => $v) {
			foreach ($_SESSION['cart']['goods'] as $kk => $va) {
				if($v==$kk){
					$sebox['goods'][$kk]=$va;					
				}
			}
		}
		//接着对￥sebox遍历统计总数和总价格给其压入字段为总数和总价格
		$num=0;
		$allprice=0;
		foreach ($sebox['goods'] as $v) {
			$num +=$v['num'];
			$allprice +=$v['total'];			
		}
		//将获得的订单件的总数和总价格压入到数组中
		$sebox['total_rows']=$num;$sebox['total']=$allprice;
		View::with('sebox',$sebox);
//		p($sebox);		
		//将获得的$gid找到对应的商品信息
		$goodsData=M('\Common\Model\Goods')->where('gid in('.implode(',', $gid).')')->get();
//		p($goodsData);
		View::with('goodsData',$goodsData);
		
		//这里是接收post提交的东西
		if(IS_POST){
			
			$this->addorder(Q('post.'),$sebox);
		}	
	    View::make();
		  
	}
	
	//声明添加订单地址的方法
	public function addorder($post,$sebox){
		//将穿过来的参数传到模型进行处理
		$oid=$this->model->store($post,$sebox);		
	 	go(U('order/paid',array('oid'=>$oid)));
	}
	
	//声明支付页面方法
	public function paid(){
		//获得订单的订单号和总钱数
		$orderData=$this->model->where('oid='.Q('get.oid',0,'intval'))->find();
//		p($orderData);
		View::with('orderData',$orderData);
	    View::make();
	}
	
	//修改订单的状态。也就是state字段的0-5等状态。0没付款，1已付款，之后的数字待定
	public function paidsuccess(){
		//接收到提交过来的oid对订单进行状态处理
		$oid=Q("get.oid",0,'intval');
		//修改对应oid订单的状态state为1；
		$this->model->where('oid='.$oid)->save(array('state'=>1));
		View::success('商品已经购买',U('person/index'));
	}
//
}


 ?>